Cloud computing is deemed as a paradigm shift from the mainframe or client-server based information service. Because the details of the technology infrastructure that supports cloud computing are hidden “in the cloud,” a user who uses the services based on cloud computing is not required to have the expertise in, or control over, the technology infrastructure.
Among the cloud computing based services, cloud storage is one that receives more and more attention with the dramatic expansion of data accumulation speed even at an individual person's level. For example, most of today's smart phones are equipped with digital camera or even video camera for generating high-resolution multimedia content. Thus, the large volume of data generated by a user of a smart phone can easily fill up its local storage space (e.g., a flash memory card) within a short period of time as well as other local storage devices (e.g., a computer hard drive) that the user has access to. To avoid potential data loss due to a fatal device failure, the user may have to install special software application on its computer to manage the large volume of data, e.g., moving the data from one device to another device or replicating data to ensure reliability. This process is often tedious and time-consuming.
A cloud storage based solution addresses this data explosion problem by offering an Internet-based storage service within a web interface through which different subscribers can upload their data into remote storage devices managed by a third-party that has the technology and resources for maintaining the integrity of the uploaded data. But because different third-parties often use different technologies, it remains a challenge for an individual user to integrate the cloud storage and the local storage in a streamlined fashion.